import axios from 'axios'

// 三个参数  URL data type
export default function ajax(url, data = {}, type = 'get') {
    return new Promise(function (resolve, reject) {
        let myPromise
        // 第一层封装封装的是url请求参数 以及区别get post请求
        if (type == 'get') {  //get 请求
            var dataStr = ''
            Object.keys(data).forEach(key => {
                //   console.log(key);
                //   console.log(data[key]);
                dataStr += key + '=' + data[key] + '&'
            })
            //  console.log(dataStr);

            // url=url+'?'+dataStr 
            if (dataStr !== '') { //表示有参数
                var index = dataStr.lastIndexOf('&')
                // console.log(index);
                dataStr = dataStr.substring(0, index)
                url = url + '?' + dataStr
                myPromise = axios.get(url)
            } else { //表示没有参数
                myPromise = axios.get(url) //axios 请求返回是一个promise,结果在then(res)
            }
        } else { // post 请求
            myPromise = axios.post(url, data)
        }
        // 请求我们.then
        myPromise.then(res => { //axios 里面所有的数据都在data里面
            resolve(res.data)
        }).catch(err => {
            reject(err)
        })
    })


} 